#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
列出所有用户脚本
用于查看数据库中的所有用户
"""

# 导入系统相关模块
import sys
import os

# 添加项目根目录到Python路径
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

# 导入dotenv用于加载环境变量
from dotenv import load_dotenv

# 加载环境变量
load_dotenv()

def list_users():
    """
    列出所有用户
    """
    print("列出所有用户...")
    
    try:
        # 导入模型
        from utils.models import User, SessionLocal
        
        # 创建数据库会话
        db = SessionLocal()
        
        # 查询所有用户
        users = db.query(User).all()
        
        if users:
            print("现有用户:")
            for user in users:
                print(f"  ID: {user.id}, 用户名: {user.username}, 邮箱: {user.email}, 角色: {user.role}")
        else:
            print("数据库中没有用户")
            
        # 关闭会话
        db.close()
        
    except Exception as e:
        print(f"列出用户时出错: {e}")
        import traceback
        traceback.print_exc()
        sys.exit(1)

# 程序入口
if __name__ == "__main__":
    list_users()